[][src]Crate rgsl

A Rust binding for the GSL library (the GNU Scientific Library).

Installation

This binding requires the GSL library library (>= 2) to be installed.

Documentation

You can access the latest version of the documentation via the internet here.

Examples

Examples are available in the examples folder. Don't hesitate to take a look!

License

rust-GSL is a wrapper for GSL, therefore inherits the GPL license.

Re-exports

pub use types::*;
pub use elementary::Elementary;
pub use pow::Pow;
pub use trigonometric::Trigonometric;
pub use types::rng;

Modules

airy
bessel
blas
cblas
clausen

The Clausen function is defined by the following integral,

coulomb
coupling_coefficients

The Wigner 3-j, 6-j and 9-j symbols give the coupling coefficients for combined angular momentum vectors. Since the arguments of the standard coupling coefficient functions are integer or half-integer, the arguments of the following functions are, by convention, integers equal to twice the actual spin value.

dawson

The Dawson integral is defined by \exp(-x^2) \int_0^x dt \exp(t^2). A table of Dawson’s integral can be found in Abramowitz & Stegun, Table 7.5.

debye

The Debye functions D_n(x) are defined by the following integral,

dilogarithm
eigen

##References and Further Reading

elementary
elementary_operations
elliptic

Further information about the elliptic integrals can be found in Abramowitz & Stegun, Chapter 17.

error

The error function is described in Abramowitz & Stegun, Chapter 7.

exponential
exponential_integrals
fermi_dirac
fft

#Fast Fourier Transforms (FFTs)

filterv2_5
fit

Linear Regression

gamma_beta

This following routines compute the gamma and beta functions in their full and incomplete forms, as well as various kinds of factorials.

gegenbauer

The Gegenbauer polynomials are defined in Abramowitz & Stegun, Chapter 22, where they are known as Ultraspherical polynomials.

hypergeometric

Hypergeometric functions are described in Abramowitz & Stegun, Chapters 13 and 15.

integration

##Introduction

interpolation
jacobian_elliptic

The Jacobian Elliptic functions are defined in Abramowitz & Stegun, Chapter 16.

laguerre

The generalized Laguerre polynomials are defined in terms of confluent hypergeometric functions as L^a_n(x) = ((a+1)n / n!) 1F1(-n,a+1,x), and are sometimes referred to as the associated Laguerre polynomials. They are related to the plain Laguerre polynomials L_n(x) by L^0_n(x) = L_n(x) and L^k_n(x) = (-1)^k (d^k/dx^k) L(n+k)(x). For more information see Abramowitz & Stegun, Chapter 22.

lambert_w

Lambert’s W functions, W(x), are defined to be solutions of the equation W(x) \exp(W(x)) = x. This function has multiple branches for x < 0; however, it has only two real-valued branches. We define W_0(x) to be the principal branch, where W > -1 for x < 0, and W_{-1}(x) to be the other real branch, where W < -1 for x < 0.

legendre

The Legendre Functions and Legendre Polynomials are described in Abramowitz & Stegun, Chapter 8.

linear_algebra

#Linear Algebra

logarithm

Information on the properties of the Logarithm function can be found in Abramowitz & Stegun, Chapter 4.

minimizer
multifit
multilargev2_1
multilinear
numerical_differentiation

#Numerical Differentiation

physical_constant

Physical Constants

polynomials

#Polynomials

pow
power

The following functions are equivalent to the function gsl_pow_int (see Small integer powers) with an error estimate.

psi

The polygamma functions of order n are defined by

randist

#Random Number Distributions

roots
sort

#Sorting

statistics

#Statistics

stats
synchrotron
transport

The transport functions J(n,x) are defined by the integral representations J(n,x) := \int_0^x dt t^n e^t /(e^t - 1)^2.

trigonometric
types
util
wavelet_transforms

##Transform Functions

zeta

The Riemann zeta function is defined in Abramowitz & Stegun, Section 23.2.

Structs

IOStream

A wrapper to handle I/O operations between GSL and rust

Enums

CblasDiag
CblasOrder
CblasSide
CblasTranspose
CblasUplo
EigenSort
FftDirection

This gives the sign in the formula:

FilterEndv2_5
FilterScalev2_5
GaussKonrodRule

The low-level integration rules in QUADPACK are identified by small integers (1-6). We'll use symbolic constants to refer to them.

IntegrationQawo

Used by workspace for QAWO integrator

Mode
ODEiv

Possible return values for an hadjust() evolution method for ordinary differential equations

SfLegendreNorm
Value
VegasMode

Used by VegasMonteCarlo struct

WaveletDirection

Statics

DBL_EPSILON
DBL_MAX
DBL_MIN
LOG_DBL_MAX
ROOT3_DBL_EPSILON
ROOT3_DBL_MAX
ROOT3_DBL_MIN
ROOT4_DBL_EPSILON
ROOT4_DBL_MAX
ROOT4_DBL_MIN
ROOT5_DBL_EPSILON
ROOT5_DBL_MAX
ROOT5_DBL_MIN
ROOT6_DBL_EPSILON
ROOT6_DBL_MAX
ROOT6_DBL_MIN
SF_DOUBLEFACT_NMAX

The maximum n such that gsl_sf_doublefact(n) does not give an overflow.

SF_FACT_NMAX

The maximum n such that gsl_sf_fact(n) does not give an overflow.

SF_GAMMA_XMAX

The maximum x such that gamma(x) is not considered an overflow.

SF_MATHIEU_COEFF
SQRT_DBL_EPSILON
SQRT_DBL_MAX
SQRT_DBL_MIN